// 模块1
console.log( '模块1。。。' );

// 应用场景1
// export function fn1(a,b){
//     console.log( '和：'+ (a+b) );
// }


// 应用场景2（不推荐）
// export let name = '张三';
// export let age = 23;
// export let sex = '男';
// export function say(){
//     console.log( 'hi' );
// }


// 应用场景3（推荐）
// let name = '李四';
// let age = 24;
// let sex = '女';
// function say(){
//     console.log( 'hello' );
// }
// export {name,age,sex,say};


// 应用场景4
// function test1(a,b){
//     console.log( a+b );
// }
// function test2(a,b){
//     console.log( a-b );
// }
// // 使用 as 修改导出的内容名称
// export {
//     test1 as fn1,
//     test2 as fn2,
//     test2 as fn3
// };


// 应用场景5
// let obj = {
//     name: '王五',
//     age: 25
// }
// function Cat(){
//     console.log( 'Cat...' );
// }
// export {obj,Cat};
// export {obj.name,obj.age};语法错误，不能直接导出一个值


// 应用场景6
// 每一个模块内部都可以有且只有一个默认值
// export default 123;
// export default {a:123};
// export default function (){};


// 应用场景7
// 导出正常值和默认值
// let name = '李四';
// let age = 24;
// let sex = '女';
// export default function (){
//     console.log( 'hello' );
// }
// export {name,sex,age};


// 应用场景8
// let name = '李四';
// let age = 24;
// let sex = '女';
// export default function (){
//     console.log( 'hello' );
// }
// export {name,sex,age};


// 应用场景9
// let name = '李四';
// let age = 24;
// let sex = '女';
// export default function (){
//     console.log( 'hello' );
// }
// export {name,sex,age};


// 应用场景10
// let num = 123;
// setTimeout(()=>{
//     num = 456;
// },3000);
// export {num};


// 应用场景11
// 模块内部的this不能直接指向window对象
// function show(){
//     console.log( this );
// }
// export {show};


// 应用场景12
// let name = '李四';
// let age = 24;
// let sex = '女';
// export default function (){
//     console.log( 'hello' );
// }
// export {name,sex,age};


// 应用场景13
console.log( '程序1' );
console.log( '程序2' );
console.log( '程序3' );
